package cn.yunhe.dao;

import cn.yunhe.entity.Page;
import cn.yunhe.entity.ProductCategory;

import java.util.List;

public interface ProductCategoryDao {

    /**
     * 查 父级 分类
     *
     * @return
     */
    List<ProductCategory> getParents();

    /**
     * 根据 父分类id查子分类
     * @param pid
     * @return
     */
    List<ProductCategory> getCategoryByPid(int pid);

    /**
     * 查 所有 分类
     */
    List<ProductCategory> getAllCategory();


    /**
     * 根据页码获取分类
     * @param page
     * @return
     */
    List<ProductCategory> getCategoryByPage(Page page);

    /**
     * 获取分类数
     * @return
     */
    int getCategoryCount();

    /**
     * 新增 分类
     */
    boolean addCategory(ProductCategory pc);

    /**
     * 根据名称 查询id
     *
     * @param epcname
     * @return
     */
    int getEpcid(String epcname);

    /**
     * 修改 父级分类id
     *
     * @return
     */
    boolean modifyEpcpartentid(int epcid);

    /**
     * 根据id查分类属性
     *
     * @param epcid
     * @return
     */
    ProductCategory getCategoryById(int epcid);

    /**
     * 修改分类
     */
    boolean modifyCategory(ProductCategory pc);

    /**
     * 根据id删除, 如果删除的是大类,则连带删除下属所有分类
     *
     * @param epcid
     * @return
     */
    boolean deleteCategory(int epcid);

    /**
     * 获取父级id
     *
     * @return
     */
    int getParentId(int epcid);

}




